<?php
// +----------------------------------------------------------------------
// | 产品类别管理模型
// +----------------------------------------------------------------------

namespace Admins\Model;

use Common\Model\Model;

class TryCategoryModel extends  Model{

    //array(填充字段,填充内容,[填充条件,附加规则])
    protected $_auto = array(
        array('create_time', 'time', 1, 'function'),
    );


    /**
     * 添加栏目
     * @param $data 页面POST的数
     * @return boolean|error
     */
    public function addCategory($data) {
        if (empty($data)) {
            $this->error = '添加栏目数据不能为空！';
            return false;
        }
        $data = $this->create($data, 1);
        if ($data) {
            //添加数据
            $cateid = $this->add($data);
            if ($cateid) {
                //更新附件状态
                if ($data['image']) {
                    //更新附件状态，把相关附件与类别相关联
                    service("Attachment")->api_update('', 'trycateid-' . $cateid, 1);
                }
                return $cateid;
            } else {
                $this->error = '栏目添加失败！';
                return false;
            }
        } else {
            return false;
        }
    }

    /**
     * 编辑栏目
     * @param type $post 页面提交过来的数据
     * @return boolean
     */
    public function editCategory($data) {
        if (empty($data)) {
            $this->error = '添加栏目数据不能为空！';
            return false;
        }
        $cateid = $data['cateid'];
        //查询该栏目是否存在
        $info = $this->where(array('cateid' => $cateid))->find();
        if (empty($info)) {
            $this->error = '该栏目不存在！';
            return false;
        }
        if(empty($data['catename'])){
            $this->error = '栏目名称不能为空';
            return false;
        }
        unset($data['cateid'], $data['child']);

        $result = $this->create($data, 2);
        if ($result) {
            if($this->where(array("cateid" => $cateid))->save($data)!==false){
                if ($data['image']) {
                    //更新附件状态，把相关附件和文章进行管理
                    service("Attachment")->api_update('', 'trycateid-' . $cateid, 1);
                }
            }
        } else {
            return false;
        }
        return true;
    }


    /**
     * 删除栏目，如果有子栏目，会删除对应的子目录
     * @param type $catid 可以是数组，可以是栏目id
     * @return boolean
     */
    public function deleteCateid($cateid){
        if (!$cateid) {
            return false;
        }

        $where['cateid'] = $cateid;
        if (M('TryItems')->where(array("cateid" =>array('IN', $cateid)))->count()) {
            $this->error='栏目删除失败，错误原因可能是栏目下存在信息，无法删除！';
            return false;
        }
        $status = $this->where($where)->delete();
        //删除相应的附件
        if (false !== $status) {
            if (is_array($cateid)) {
                foreach ($cateid as $cid) {
                    service("Attachment")->api_delete('trycateid-' . $cid);
                }
            } else {
                service("Attachment")->api_delete('trycateid-' . $cateid);
            }
            return true;
        } else {
            return false;
        }

    }


    //获取试用栏目
    public function getTryCategory(){
        return M('TryCategory')->where(array('status'=>true))->select();
    }

}
